#
# Activate component packaging
#
if(CPACK_GENERATOR MATCHES "ZIP")
   set(CPACK_ARCHIVE_COMPONENT_INSTALL "ON")
endif()

if(CPACK_GENERATOR MATCHES "RPM")
  set(CPACK_RPM_COMPONENT_INSTALL "ON")

  # test that /usr and /usr/foo get omitted in relocatable
  # rpms as shortest relocation path is treated as base of
  # package (/usr/foo/bar is relocatable and must exist)
  set(CPACK_PACKAGING_INSTALL_PREFIX "/usr/foo/bar")

  # test requires
  set(CPACK_RPM_APPLICATIONS_PACKAGE_REQUIRES "mylib-libraries")

  # test a "noarch" rpm
  set(CPACK_RPM_HEADERS_PACKAGE_ARCHITECTURE "noarch")

  # test cross-built rpm
  set(CPACK_RPM_APPLICATIONS_PACKAGE_ARCHITECTURE "armv7hl")

  # test package summary override - headers rpm is generated in the middle
  set(CPACK_RPM_PACKAGE_SUMMARY "default summary")
  set(CPACK_RPM_HEADERS_PACKAGE_SUMMARY "headers summary")

  # test package description override - headers rpm is generated in the middle
  set(CPACK_RPM_HEADERS_PACKAGE_DESCRIPTION "headers description")

  # test package do not use CPACK_PACKAGING_INSTALL_PREFIX
  # as relocation path
  set(CPACK_RPM_NO_LIBRARIES_INSTALL_PREFIX_RELOCATION true)

  # test default permissions
  set(CPACK_RPM_DEFAULT_USER defusr)
  set(CPACK_RPM_DEFAULT_GROUP defgrp)
  set(CPACK_RPM_DEFAULT_FILE_PERMISSIONS
      OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ)
  set(CPACK_RPM_DEFAULT_DIR_PERMISSIONS
      OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ WORLD_READ)
  set(CPACK_RPM_LIBRARIES_DEFAULT_USER user)
  set(CPACK_RPM_APPLICATIONS_DEFAULT_GROUP group)
  set(CPACK_RPM_LIBRARIES_DEFAULT_FILE_PERMISSIONS
      OWNER_READ OWNER_WRITE OWNER_EXECUTE)
  set(CPACK_RPM_APPLICATIONS_DEFAULT_DIR_PERMISSIONS
      OWNER_READ GROUP_READ WORLD_READ)
endif()

if(CPACK_GENERATOR MATCHES "DEB")
   set(CPACK_DEB_COMPONENT_INSTALL "ON")
endif()

if(CPACK_GENERATOR MATCHES "NuGet")
   set(CPACK_NUGET_COMPONENT_INSTALL "ON")
endif()

#
# Choose grouping way
#
#set(CPACK_COMPONENTS_ALL_GROUPS_IN_ONE_PACKAGE)
#set(CPACK_COMPONENTS_GROUPING)
set(CPACK_COMPONENTS_IGNORE_GROUPS 1)
#set(CPACK_COMPONENTS_ALL_IN_ONE_PACKAGE 1)
